package resp;

import jakarta.servlet.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;

import java.io.IOException;
/*
*   处理响应
    由于主要是http协议的响应处理
    *   所以就用HttpServletResponse来处理
    * 方法：
    *   1.setStatus(int sc) 设置响应状态码
    *   2.setHeader(String name, String value) 设置响应头,设置自带的响应头
    *     addHeader(String name, String value) 添加响应头,可随意添加
    *     setDateHeader(String name, long date) 设置日期响应头,由于格式不一样，单独设置
    *     setContentType("text/html; charset=UTF-8") 设置响应体的类型，此代码为响应字符串专属
    *   3.getWriter() 获取输出流，用于向浏览器发送响应体
    *     getOutputStream() 获取字节输出流，用于向浏览器发送响应体
    *   4.ServletContext 类下的 getMimeType(String file) 获取文件的mime类型，配合字节输出流使用
    *       由于字节输出流发送的是字节，需要对应文件的类型才能被浏览器识别
    *     response.setContextType(this.getServletContext().getMimeType("file"));设置响应体的类型
    *       如此即可向浏览器响应任何类型的文件
* */
@WebServlet(value = "/resp/demo01")
public class ResponseDemo01 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/plain; charset=UTF-8");
        response.getWriter().write("Hello World");
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }
}
